﻿
var userArea = {
	editFormSetting : function(){
		var btnSetting = {
		        "취소": function() {
		          $( this ).dialog( "close" );
		        }
			};
		common.dialogPopup($("#dialog-userEditForm"), btnSetting);
	},
	dataEdit : function(msg, fn, pwdChk){
		var $editForm = $("#editForm");
		if(!$("#editForm").validation()){
			return false;
		};

		//비밀번호 체크
		var $adminPwd = $editForm.find("[name=user_pwd]");
		var $adminPwdCopy = $editForm.find("[name=user_pwdCopy]");
		
		if(pwdChk && !$adminPwd.val()){
			common.alert("비밀번호를 입력해주세요.", $adminPwd.focus());
			return false;
		}else if($adminPwd.val() && ($adminPwd.val() != $adminPwdCopy.val())){
			common.alert("비밀번호를 확인하세요.");
			return false;
		}

		var btnSetting =  {
				"확인": function() {
					if(typeof(fn) == "function") fn();
		        },
		        "취소": function() {
		        	$( this ).dialog( "close" );
		        }
			};
		common.confirm(msg+"하시겠습니까?", btnSetting);
	},

	editMyInfo: function(user_id){
		$.post(contextPath+"/member/info.json", { "user_id" : user_id }, function(data) {

		}, "json").done(function(data) {
			var userInfo = data.userInfo;
			if(userInfo){
				var $dialogAdminMaster = $("#dialog-userEditForm");

				$dialogAdminMaster
					.find("[name=adminId]").val(userInfo.adminId).prop("readonly", true).end()
					.find("[name=adminNm]").val(userInfo.adminNm).end()
					.find("[name=codeDept]").val(userInfo.codeDept).end()
					;

				var btnSetting = {
					"수정": function() {
						userArea.dataEdit("수정", userArea.dataUpdate);
			        },
			        "취소": function() {
			        	$( this ).dialog( "close" );
			        }
				};
				$dialogAdminMaster.dialog({ buttons: btnSetting }).dialog( "open" );

			}else{
				common.alert("서버에 이상이 있습니다!");
			}
		}).fail(function(data) {
			common.alert("서버에 이상이 있습니다!");
			return false;
		});
	},


	/**
	 * 계정 수정 수행
	 */
	dataUpdate : function (){
		var $editForm = $("#editForm");

		$.post(contextPath+"/au/modAJax.json", $editForm.serialize(), function(data) {

		}, "json").done(function(data) {
			if(data.code==0){
				var adminId = $editForm.find("[name=adminId]").val();
				var codeDept = $editForm.find("[name=codeDept]").val();
				var codeLevel = $editForm.find("[name=codeLevel] option:selected").val();
				var codeLevelNm = $editForm.find("[name=codeLevel] option:selected").text();
				$("#adminMasterTb").find("[name=adminId][value='"+adminId+"']").closest("tr")
					.find("td:eq(2)").text(codeDept).end()
					.find("td:eq(3)").text(codeLevelNm).end()
					.find("[name=codeLevel]").val(codeLevel);

				$("#dialog-userEditForm").dialog( "close" );
				common.alert("수정되었습니다.");

			}else if(data.message){
				common.alert(data.message);
			}else{
				common.alert("서버에 이상이 있습니다!");
			}
		}).fail(function(data) {
			common.alert("서버에 이상이 있습니다!");
			return false;
		});
		return false;
	},

	logout : function(){
		$.post(contextPath+"/logout.json", function(data) {

		}, "json").done(function(data) {
			if(data.code == 0){
				location.href = contextPath;
			}else if(data.message){
				common.alert(data.message);
			}else{
				common.alert("서버에 이상이 있습니다!");
			}
		}).fail(function(data) {
			common.alert("서버에 이상이 있습니다!");
			return false;
		});
	}
};

$(function(){
	$("#editMyInfo").click(userArea.editMyInfo);
	//회원정보 form 셋팅
	userArea.editFormSetting();
	$("#logout").click(userArea.logout);
});